package com.wva.video.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.wva.common.domain.dto.PageQueryDTO;
import com.wva.common.domain.vo.PageQueryVO;
import com.wva.video.domain.po.VideoCollect;
import com.wva.video.domain.vo.VideoItemDTO;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author hong
 * @since 2025-03-09
 */
public interface VideoCollectService extends IService<VideoCollect> {

    /**
     * 收藏视频
     * @param videoId
     */
    void collect(Long videoId);

    /**
     * 取消收藏视频
     * @param videoId
     */
    void cancelCollect(Long videoId);

    /**
     * 获取视频的收藏人数
     * @param videoId
     * @return
     */
    Long getVideoCollectCountByVideoId(Long videoId);

    /**
     * 登录用户是否收藏了此视频
     * @param videoId
     * @return
     */
    Boolean isCollectVideoByVideoId(Long videoId);


    /**
     * 分页查询用户已收藏视频
     * @param pageQueryDTO
     * @return
     */
    PageQueryVO<VideoItemDTO> listUserCollectVideoByPage(PageQueryDTO pageQueryDTO);
}
